Information leakage by a theft of data stored in a built-in storage (external storage device) and of data that flows over wirings of a circuit board is increasing lately, and demand for adding security functions is increasing. To meet this demand, one possible means is adding a security chip (security device) having a data encryption function to the current system of the built-in units. Then data stored in such a storage as a microprocessor from a host chip (host device) on the circuit board, and data that flows through the circuit board can be encrypted by the security chip, and information leakage can be prevented.
In the case of a security chip encrypting data that is processed by a host chip, on the other hand, the encryption target data is transferred from the host chip to the security chip via wirings. In other words, unencrypted data flows over wirings between the host chip and the security chip. Therefore a new concern regarding information leakage is theft of unencrypted data that flows between the host chip and the security chip.
SSL/TLS and a stream cipher method, for example, have been used to encrypt data. In the case of SSL/TLS, the server sends a public key to the client, and the client encrypts a random number based on the received public key (e.g. RSA, DH), and sends the encrypted random number to the server. The server obtains the random number by decrypting the encrypted random number using a secret key which forms a pair with the public key. Thus both parties share a random number, and generate a common key according to a common encryption algorithm (e.g. AES, DES) based on the shared random number, and encrypts the data based on the common key before transmitting/receiving data.
In the case of a stream cipher method, the transmission side (e.g. client) and the reception side (e.g. server) share a counter sequence and a common key, and generate a common stream cipher key sequence (random number sequence) respectively using block ciphers (e.g. AES, DES) respectively. The transmission side generates scrambled data by performing the exclusive OR (XOR/EOR) operation on the transmission target data and stream cipher key string, and transmits the result to the reception side, and the reception side decrypts the original data by performing the exclusive OR (XOR/EOR) operation on the received scrambled data and the stream cipher key string.
Japanese Patent Application Laid-Open Publication No. 2007-336506 and No. H10-222468 disclose an example of encryption technology.